package com.lt.integration.qywx.entity;

/**
 * 成员列表
 * @ author     :  Dragon
 * @ Created in :  2022年04月28日 16:46
 */
public class WxCorpUser {

    /**
     * 成员UserID。对应管理端的帐号
     */
    private String userid;

    /**
     * 成员名称；
     * 第三方不可获取，调用时返回userid以代替name；代开发自建应用需要管理员授权才返回；
     * 对于非第三方创建的成员，第三方通讯录应用也不可获取；
     * 未返回名称的情况需要通过通讯录展示组件来展示名字
     */
    private String name;

    /**
     * 	成员所属部门id列表，仅返回该应用有查看权限的部门id。对授权了“组织架构信息”的第三方应用，返回成员所属的全部部门id列表
     */
    private Integer[] department;

    /**
     * 部门内的排序值，默认为0。数量必须和department一致，数值越大排序越前面。值范围是[0, 2^32)
     */
//    private List<Integer> order;

    /**
     * 职务信息；
     * 代开发自建应用需要管理员授权才返回；
     * 第三方仅通讯录应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用也不可获取；
     * 上游企业不可获取下游企业成员该字段
     */
    private String position;

    /**
     * 手机号码，代开发自建应用需要管理员授权才返回；
     * 第三方仅通讯录应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用也不可获取；
     * 上游企业不可获取下游企业成员该字段
     */
    private String mobile;

    /**
     * 性别。0表示未定义，1表示男性，2表示女性。
     * 第三方仅通讯录应用可获取；对于非第三方创建的成员，第三方通讯录应用也不可获取；上游企业不可获取下游企业成员该字段。
     * 注：不可获取指返回值为0
     */
    private String gender;

    /**
     * 邮箱，代开发自建应用需要管理员授权才返回；
     * 第三方仅通讯录应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用也不可获取；
     * 上游企业不可获取下游企业成员该字段
     */
    private String email;

    /**
     * 企业邮箱，代开发自建应用不返回；
     * 第三方仅通讯录应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用也不可获取；
     * 上游企业不可获取下游企业成员该字段
     */
    private String biz_mail;

    /**
     * 表示在所在的部门内是否为部门负责人。
     * 0-否；1-是。是一个列表，数量必须与department一致。
     * 第三方通讯录应用或者授权了“组织架构信息-应用可获取企业的部门组织架构信息-部门负责人”权限的第三方应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用不可获取；
     * 上游企业不可获取下游企业成员该字段
     */
    private Integer[] is_leader_in_dept;

    /**
     * 直属上级UserID，返回在应用可见范围内的直属上级列表，最多有五个直属上级；
     * 第三方通讯录应用或者授权了“组织架构信息-应用可获取可见范围内成员组织架构信息-直属上级”权限的第三方应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用不可获取；
     * 上游企业不可获取下游企业成员该字段；
     * 代开发自建应用不可获取该字段
     */
    private Integer[] direct_leader;

    /**
     * 头像url。
     * 第三方仅通讯录应用可获取；对于非第三方创建的成员，第三方通讯录应用也不可获取
     */
    private String avatar;

    /**
     * 头像缩略图url。
     * 第三方仅通讯录应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用也不可获取
     */
    private String thumb_avatar;

    /**
     * 座机。
     * 代开发自建应用需要管理员授权才返回；
     * 第三方仅通讯录应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用也不可获取；
     * 上游企业不可获取下游企业成员该字段
     */
    private String telephone;

    /**
     * 	别名；
     * 	第三方仅通讯录应用可获取；
     * 	对于非第三方创建的成员，第三方通讯录应用也不可获取；
     * 	上游企业不可获取下游企业成员该字段
     */
    private String alias;

    /**
     * 激活状态: 1=已激活，2=已禁用，4=未激活，5=退出企业。
     * 已激活代表已激活企业微信或已关注微信插件（原企业号）。未激活代表既未激活企业微信又未关注微信插件（原企业号）。
     */
    private String status;

    /**
     * 员工个人二维码，扫描可添加为外部联系人(注意返回的是一个url，可在浏览器上打开该url以展示二维码)；
     * 第三方仅通讯录应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用也不可获取；
     * 上游企业不可获取下游企业成员该字段
     */
    private String qr_code;

    /**
     * 地址。
     * 代开发自建应用需要管理员授权才返回；
     * 第三方仅通讯录应用可获取；
     * 对于非第三方创建的成员，第三方通讯录应用也不可获取；
     * 上游企业不可获取下游企业成员该字段
     */
    private String address;

    /**
     * 英语名称
     */
    private String english_name;

    /**
     * 全局唯一。
     * 对于同一个服务商，不同应用获取到企业内同一个成员的open_userid是相同的，最多64个字节。
     * 仅第三方应用可获取
     */
    private String open_userid;

    /**
     * 主部门，仅当应用对主部门有查看权限时返回。
     */
    private String main_department;

    public String getUserid() {
        return userid;
    }

    public void setUserid(String userid) {
        this.userid = userid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer[] getDepartment() {
        return department;
    }

    public void setDepartment(Integer[] department) {
        this.department = department;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getBiz_mail() {
        return biz_mail;
    }

    public void setBiz_mail(String biz_mail) {
        this.biz_mail = biz_mail;
    }

    public Integer[] getIs_leader_in_dept() {
        return is_leader_in_dept;
    }

    public void setIs_leader_in_dept(Integer[] is_leader_in_dept) {
        this.is_leader_in_dept = is_leader_in_dept;
    }

    public Integer[] getDirect_leader() {
        return direct_leader;
    }

    public void setDirect_leader(Integer[] direct_leader) {
        this.direct_leader = direct_leader;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getThumb_avatar() {
        return thumb_avatar;
    }

    public void setThumb_avatar(String thumb_avatar) {
        this.thumb_avatar = thumb_avatar;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public String getAlias() {
        return alias;
    }

    public void setAlias(String alias) {
        this.alias = alias;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getQr_code() {
        return qr_code;
    }

    public void setQr_code(String qr_code) {
        this.qr_code = qr_code;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getEnglish_name() {
        return english_name;
    }

    public void setEnglish_name(String english_name) {
        this.english_name = english_name;
    }

    public String getOpen_userid() {
        return open_userid;
    }

    public void setOpen_userid(String open_userid) {
        this.open_userid = open_userid;
    }

    public String getMain_department() {
        return main_department;
    }

    public void setMain_department(String main_department) {
        this.main_department = main_department;
    }
}
